package org.jsola.hr.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.vo.BaseVO;

/**
 * @author wxz
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "【考勤打卡】详情展示对象")
@Data
public class AttendPunchVO extends BaseVO {

    private static final long serialVersionUID = 1L;

    /** 是否已设置考勤规则 */
    @ApiModelProperty(notes = "是否已设置考勤规则", example = "")
    private Boolean isSetPlan;

    /** 是否在打卡范围内;1-是,0-否 **/
    @ApiModelProperty(notes = "是否在打卡范围内;1-是,0-否", example = "")
    private Integer rangeState;

    /** 上班时间(HH:mm) */
    @ApiModelProperty(notes = "上班打卡或下班打卡是否完成", example = "")
    private String onWorkTime;

    /** 下班时间(HH:mm) */
    @ApiModelProperty(notes = "下班时间(HH:mm)", example = "")
    private String offWorkTime;

    /** 上班还是下班;0-缺卡1-上班打卡,2-下班打卡,3-今日已完成打卡 */
    @ApiModelProperty(notes = "上班还是下班;0-缺卡1-上班打卡,2-下班打卡,3-今日已完成打卡", example = "")
    private Integer workStatus;

    /** 上班打卡或下班打卡是否完成 true-完成,false-未完成*/
    @ApiModelProperty(notes = "上班打卡或下班打卡是否完成 true-完成,false-未完成", example = "")
    private Boolean completedWork;

    /** 上班打卡时间 */
    @ApiModelProperty(notes = "上班打卡时间", example = "")
    private String onWorkPunchTime;

    /** 下班打卡时间 */
    @ApiModelProperty(notes = "下班打卡时间", example = "")
    private String offWorkPunchTime;

    /** 打卡状态 ; 0-异常打卡,1-正常,2-迟到,3-早退 */
    @ApiModelProperty(notes = "打卡状态 ; 0-异常打卡,1-正常,2-迟到,3-早退", example = "")
    private Integer punchStatus;

    /** 迟到或早退分钟数 */
    @ApiModelProperty(notes = "迟到或早退分钟数", example = "")
    private Integer minutes;

    /** 打卡地点 */
    @ApiModelProperty(notes = "打卡地点", example = "")
    private String punchLocation;

    @ApiModelProperty(notes = "打卡记录ID", example = "")
    private String punchRecordId;
}
